package com.rf.richfitwheel.admin.sys.model;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Org implements Serializable {

    private static final long serialVersionUID = -1366281451738653766L;

    /**
     *   主键
     */
    private String id;

    /**
     *   版本
     */
    private Integer version;

    /**
     *   自定义编号
     */
    private String orgCode;

    /**
     *   机构名称
     */
    private String orgName;

    /**
     *   简称
     */
    private String shortName;

    /**
     *   租户
     */
    private String tenantId;

    /**
     *   级别
     */
    private Integer orgLevel;

    /**
     *   上级id，顶级时该值为0
     */
    private String parentId;

    /**
     *   机构状态:1-正常 2-暂停
     */
    private String orgStatus;

    /**
     *   是否是叶子节点（0-叶子 1-父节点）
     */
    private String isParent;

    /**
     *   机构分类：1-虚拟机构、2-实体机构
     */
    private String orgType;

    /**
     *   扩展级别，例如：1-公司、2-部门、9-其他
     */
    private String orgRank;

    /**
     * 等级
     */
    private String orgGrade;

    /**
     *   排序
     */
    private Integer ordernum;

    /**
     *   创建人
     */
    private String creater;

    /**
     *   创建时间
     */
    private Date createTime;

    /**
     *   最后修改人
     */
    private String modUser;

    /**
     *   修改时间
     */
    private Date modTime;

    /**
     *   机构维护类型 0:标准平台同步 1:本系统手工维护
     */
    private String type;

    private String basicType;

    public Org(String id, Integer version, String orgCode, String orgName, String shortName, String tenantId, Integer orgLevel, String parentId, String orgStatus, String isParent, String orgType, String orgRank, String orgGrade, Integer ordernum, String creater, Date createTime, String modUser, Date modTime, String type) {
        this.id = id;
        this.version = version;
        this.orgCode = orgCode;
        this.orgName = orgName;
        this.shortName = shortName;
        this.tenantId = tenantId;
        this.orgLevel = orgLevel;
        this.parentId = parentId;
        this.orgStatus = orgStatus;
        this.isParent = isParent;
        this.orgType = orgType;
        this.orgRank = orgRank;
        this.orgGrade = orgGrade;
        this.ordernum = ordernum;
        this.creater = creater;
        this.createTime = createTime;
        this.modUser = modUser;
        this.modTime = modTime;
        this.type = type;
    }
}
